package com.youku.interfaces
{
   import flash.events.IEventDispatcher;
   import com.youku.utils.DropFrameTable;
   import flash.display.DisplayObject;
   
   public interface ICore extends IEventDispatcher
   {
      
      function seek(param1:Number) : void;
      
      function mockSeek(param1:Number) : void;
      
      function play(param1:Number = 0) : void;
      
      function playVideoByID(param1:String, param2:Boolean = true) : void;
      
      function pause(param1:Boolean = false) : void;
      
      function resume() : void;
      
      function togglePausePlay(param1:Boolean = false) : void;
      
      function set volume(param1:Number) : void;
      
      function get volume() : Number;
      
      function close() : void;
      
      function setScreenMode(param1:String, param2:Boolean, param3:Boolean) : void;
      
      function setQuality(param1:String) : void;
      
      function setWH(param1:Number, param2:Number) : void;
      
      function setAngle(param1:Number) : void;
      
      function setDragging(param1:Boolean) : void;
      
      function refreshLoaded() : void;
      
      function getNsTime() : Number;
      
      function resetData() : void;
      
      function get isPause() : Boolean;
      
      function get loadedTime() : Number;
      
      function get loadedBytes() : Number;
      
      function get diffLoadedBytes() : Number;
      
      function get droppedFrames() : Number;
      
      function get dropFrameTable() : DropFrameTable;
      
      function get baseLoadedBytes() : Number;
      
      function get playListData() : IPlayListData;
      
      function getTimeStatus(param1:Number, param2:String = "") : Object;
      
      function getVideoSegmentStatus(param1:Number) : IVideoSegmentStatus;
      
      function get currentVideoNum() : Number;
      
      function get currentLoadingNum() : Number;
      
      function get currentFileId() : String;
      
      function get currentNsTime() : Number;
      
      function get currentLoadedTime() : Number;
      
      function get currentTotalTime() : Number;
      
      function get currentVideoWidth() : Number;
      
      function get currentVideoHeight() : Number;
      
      function get currentVideoRealWidth() : Number;
      
      function get currentVideoRealHeight() : Number;
      
      function get video() : DisplayObject;
   }
}
